package cn.sfrog.system.mapper;

import cn.sfrog.system.domain.SysCity;
import cn.sfrog.system.domain.vo.app.AppCityLetterListVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * 城市Mapper接口
 */
public interface SysCityMapper extends BaseMapper<SysCity> {
    /**
     * 查询城市
     *
     * @param id 城市主键
     * @return 城市
     */
    public SysCity selectSysCityById(Long id);

    /**
     * 查询城市列表
     *
     * @param sysCity 城市
     * @return 城市集合
     */
    public List<SysCity> selectSysCityList(SysCity sysCity);

    /**
     * 新增城市
     *
     * @param sysCity 城市
     * @return 结果
     */
    public int insertSysCity(SysCity sysCity);

    /**
     * 修改城市
     *
     * @param sysCity 城市
     * @return 结果
     */
    public int updateSysCity(SysCity sysCity);

    /**
     * 删除城市
     *
     * @param id 城市主键
     * @return 结果
     */
    public int deleteSysCityById(Long id);

    /**
     * 批量删除城市
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysCityByIds(Long[] ids);

    /**
     * 通过
     * @param name
     * @return
     */
    String selectCodeByName(String name);


    /**
     * 查询子级城市
     * @param parentId
     * @return
     */
    List<SysCity> selectSysCityByParent(Long parentId);

    /**
     * 根
     * @param name
     * @return
     */
    SysCity getCityByName(String name);

    /**
     * 查询所有的城市
     * @return
     */
    List<AppCityLetterListVO> groupByCityLetter(String keywords);
}
